﻿using System;
using System.Collections.Generic;

namespace autoMessage.Entities;

/// <summary>
/// 触发器详细信息表
/// </summary>
public partial class QrtzTrigger
{
    /// <summary>
    /// 调度名称
    /// </summary>
    public string SchedName { get; set; } = null!;

    /// <summary>
    /// 触发器的名字
    /// </summary>
    public string TriggerName { get; set; } = null!;

    /// <summary>
    /// 触发器所属组的名字
    /// </summary>
    public string TriggerGroup { get; set; } = null!;

    /// <summary>
    /// qrtz_job_details表job_name的外键
    /// </summary>
    public string JobName { get; set; } = null!;

    /// <summary>
    /// qrtz_job_details表job_group的外键
    /// </summary>
    public string JobGroup { get; set; } = null!;

    /// <summary>
    /// 相关介绍
    /// </summary>
    public string? Description { get; set; }

    /// <summary>
    /// 上一次触发时间（毫秒）
    /// </summary>
    public long? NextFireTime { get; set; }

    /// <summary>
    /// 下一次触发时间（默认为-1表示不触发）
    /// </summary>
    public long? PrevFireTime { get; set; }

    /// <summary>
    /// 优先级
    /// </summary>
    public int? Priority { get; set; }

    /// <summary>
    /// 触发器状态
    /// </summary>
    public string TriggerState { get; set; } = null!;

    /// <summary>
    /// 触发器的类型
    /// </summary>
    public string TriggerType { get; set; } = null!;

    /// <summary>
    /// 开始时间
    /// </summary>
    public long StartTime { get; set; }

    /// <summary>
    /// 结束时间
    /// </summary>
    public long? EndTime { get; set; }

    /// <summary>
    /// 日程表名称
    /// </summary>
    public string? CalendarName { get; set; }

    /// <summary>
    /// 补偿执行的策略
    /// </summary>
    public short? MisfireInstr { get; set; }

    /// <summary>
    /// 存放持久化job对象
    /// </summary>
    public byte[]? JobData { get; set; }

    public virtual QrtzBlobTrigger? QrtzBlobTrigger { get; set; }

    public virtual QrtzCronTrigger? QrtzCronTrigger { get; set; }

    public virtual QrtzJobDetail QrtzJobDetail { get; set; } = null!;

    public virtual QrtzSimpleTrigger? QrtzSimpleTrigger { get; set; }

    public virtual QrtzSimpropTrigger? QrtzSimpropTrigger { get; set; }
}
